package com.aoxin.service.inter.opm;

import java.util.List;
import java.util.Map;

import com.aoxin.model.dto.SelectDto;
import com.aoxin.model.opm.SlfEmployee;

/**
 * 员工服务接口
 * 
 * @author Melody
 * @date 2018年3月26日 下午8:10:06
 */
public interface EmployeeService {

	/**
	 * 批量删除员工ID
	 * 
	 * @param employeeIds
	 *            员工ID集合
	 */
	void deleteEmployeeByIds(List<Integer> employeeIds);

	/**
	 * 添加员工信息
	 * 
	 * @param record
	 *            员工
	 * @throws Exception 
	 */
	int insertEmployee(SlfEmployee record,Integer roleId) throws Exception;

	/**
	 * 查询员工信息
	 * 
	 * @param employeeId
	 *            员工ID
	 * @return
	 */
	SlfEmployee getEmployee(Integer employeeId);

	/**
	 * 修改员工信息
	 * 
	 * @param record
	 */
	void updateEmployee(SlfEmployee record);

	/**
	 * 查询人员
	 * 
	 * @param map
	 *            条件集合
	 * @return 人员集合
	 */
	List<SlfEmployee> getEmployeeList(Map<String, Object> map);

	/**
	 * 批量修改员工状态
	 * 
	 * @param employeeIds
	 *            员工ID
	 * @param state
	 *            状态
	 */
	void updateStates(List<Integer> employeeIds, Integer state);

	/**
	 * 登录接口
	 * 
	 * @param loginName
	 *            登录名
	 * @param password
	 *            密码
	 * @return 人员信息
	 */
	SlfEmployee getByLoginNameAndPassword(String loginName, String password);



	/**
	 * 批量初始化员工密码
	 * @param employeeIds
	 * @param password
	 * @return
	 */
	void iniPassword(List<Integer> employeeIds,String oldPassword,String newPassword,Integer type);
	
	/**
	 * 根据人员ID查询人员
	 * @return 人员集合
	 */
	List<SelectDto> getEmployeeListByOrg();

	/**
	 * 根据学校Id查询学校下的教师
	 * @param schoolId
	 * @return
	 */
	List<SelectDto> getTeacherBySchoolId(Integer schoolId);
}
